package cn.edu.jxau.test;

import java.util.Arrays;

public class Sort {

    public static void main(String[] args) {

        int[] arr = { 31, 55, 76, 24, 67, 89, 23, 90, 67, 54, 97, 39, 26, 99, 43, 65, 35 };
        System.out.println(Arrays.toString(arr));
        sort(arr);
        System.out.println(Arrays.toString(arr));
    }

    /**
     * 选择排序：首先找到数组中第一小的值与数组中第一个元素交换，
	 * 然后找到数组中第二小的值与数组中第二个元素交换，然后找第
	 * 三小...
	 *
     * 1.运行时间与输入无关
     * 2.比较次数与输入无关
     * @param arr
     */
    private static void sort(int[] arr) {

        for (int i = 0; i < arr.length; i++) {
            int min = i;
            for(int j = i+1;j < arr.length; j++) {
                if(arr[j]<arr[min]) {
                    min = j;
                }
                swap(arr,i,min);
            }
        }
    }
    
    private static void swap(int[] arr,int i,int j) {
        
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
}
